草庐IT

sql - 按 IF EXISTS 排序

全部标签

sql-server - SELECT FOR XML 查询速度慢吗?

我有一个存储过程,它使用SELECTFORXMLPATH语句将XML返回给调用者。随着越来越多的行被添加到查询的主表中,我注意到该查询的性能已经下降。经过调查,我发现在没有FORXML语句的情况下在SQLManagementStudio中运行查询所花费的时间是FORXML查询所用时间的1/3。由FORXML调用的XML生成是否有很大的开销,或者在使用FORXML时是否有一些该做和不该做的事情。下面是我的表定义和使用的返回>3000行的查询。更改了列名以保护无辜者。欢迎任何建议。CREATETABLEdbo.results(colAintNOTNULL,colBvarchar(20)NU

SQL Server XML 添加属性(如果不存在)

我正在尝试添加一个不存在的属性。它应该很简单,但我是XMLXPath/XQuery等方面的新手,所以请原谅我的无知。我希望能够传递XML数据并修改它...ALTERFUNCTION[dbo].[ConvertXmlData](@xmlDataXML)RETURNSXMLASBEGINRETURN@xmlData.END如果我传递如下数据:thisissampledataand.More我愿意thisissampledataand.More而不是:thisissampledataand.More 最佳答案 你可以做到SET@xmlDa

xml - 按属性对 XML 进行排序和修改

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion首先是一些背景知识:我使用馆藏管理软件GCStar来管理我的数字图书馆(漫画/漫画/电影,随便你怎么说-除了书籍之外,它非常棒)。问题是,它不允许我按多个键对货架进行排序,比如按系列和剧集编号。稍后添加的剧集将始终显示在架子的较低位置,并按系列分组。我仔细检查了配置,发现它使用的.gcs文件只不过是一个XML(我只是粗略地熟悉)。是这样的:101It's1931and......据我所知,该程序将始终按I

sql - 如何在 SQL Server 2005 中读取 XML 数据

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。我有一个表,其中XMLData列作为文本。如何从该列中读取数据

sql-server - 使用 T-SQL 有条件地删除 SQL Server 中 XML 字段中的 XML 元素

我想有条件地删除SQLServer2005上XML字段中的元素。例如,我有以下数据:如何使用T-SQL删除日期值早于一天的统计元素?理论上,我想理想的解决方案可以表示为:UPDATEXML_TESTSETXML_DATA_FIELD.modify('delete(/stats/stat)')WHEREXML_DATA_FIELD.nodes('/stats/stat').value('@date','datetime')这当然行不通。 最佳答案 这应该可以达到您的要求:declare@testXmlxml='',@yesterday

xml - 如何使用 XSLT 对值进行排序?

我有一个类似这样的XML:TypeAvalue1TypeBvalue2TypeAvalue3值是唯一的,但类型可能相同。我正在尝试对其进行排序,以便输出与此类似:我很难确保输出中的组是唯一的并且值在正确的组中。我的XSL应该如何构建? 最佳答案 这是一个更简单的解决方案(完全“推式”,没有,没有嵌套,没有,没有current(),没有//,没有轴):当此转换应用于提供的XML文档时:TypeAvalue1TypeBvalue2TypeAvalue3产生了想要的、正确的结果:解释:Muenchiangrouping的/*/*使用其a的

sql-server - 如何在 XML PATH 查询上创建 View 或函数?

我正在使用SSMS2008进行以下查询:DECLARE@TestDataTABLE(address_descNVARCHAR(100)NULL,people_idUNIQUEIDENTIFIERNULL);INSERT@TestDataSELECTa.address_desc,a.people_idFROMdbo.address_viewaSELECTa.people_id,(SELECTSUBSTRING((SELECT';'+b.address_descFROM@TestDatabWHEREa.people_id=b.people_idFORXMLPATH('')),2,4000)

sql-server - SQL Server 从 XML 参数到表 - 使用可选的子节点

在SQLServer2008R2上,我试图将XML值读取为表。到目前为止,我在这里:DECLARE@XMLValueASXML;SET@XMLValue='14532011-10-272011-11-0421012117';SELECTRoom.value('(NumberOfADT)[1]','INT')ASNumberOfADTFROM@XMLValue.nodes('/SearchQuery/Room')ASSearchQuery(Room);如您所见,Room节点有时会得到CHD子节点,但有时不会。假设我将此XML值作为存储过程参数获取。因此,我需要使用这些值来查询我的数据库表

SQL 从包含 xml 的 nvarchar 列中透视动态列

我得到了一个包含以下列和一些示例数据的表格:IDTitleFieldsXml[nvarchar(max)]--------------------------------1Ax1y12By2z23Cz3我需要查询它以获得这样的结果:IDTitleXYZ-------------1Ax1y12By2z23Cz3xml字段应该保证格式正确并且与模式匹配,即使它是nvarchar而不是xml类型。但是,无法提前知道Name属性的值。我正在使用SQLServer2008。如有必要,我可以使用存储过程,但我正在寻找一种可以避免这种情况并避免动态SQL的解决方案。写这样的查询是不可能的吗?如果存储

xml - 在 SQL Server 2008 中导出包含 XML 数据列的表

我需要从数据库中导出SQLServer2008中的表,然后将该表恢复到本地数据库。问题是其中一列包含XML数据。最有效的方法是什么? 最佳答案 您也可以尝试“导出数据”向导。考虑到您的情况,这应该很有效。 关于xml-在SQLServer2008中导出包含XML数据列的表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8991187/